package com.csun.cmny.provider.service;


import com.csun.cmny.provider.pojo.SetMeal;
import com.csun.cmny.provider.pojo.SetMealExpItem;

import java.util.List;
import java.util.Map;

public interface SetMealService {
    /**
     * 添加套餐
     * author:liqian
     * date:2018-11-08 10:30
     */
    int insert(SetMeal setMeal);
    /**
     * 删除套餐
     * author:liqian
     * date:2018-11-08 10:31
     */
    int deleteById(Integer setMealId);
    /**
     * 修改套餐
     * author:liqian
     * date:2018-11-08 10:32
     */
    int updateById(SetMeal setMeal);
    /**
     * 批量插入套餐项目关系表
     * author:liqian
     * date:2018-11-08 11:13
     */
    int insertBatch(List<SetMealExpItem> setMealExpItemList);
    /**
     * 根据套餐id删除套餐项目关系表中的数据
     * author:liqian
     * date:2018-11-08 13:48
     */
    int deleteBySetMealExpItem(SetMealExpItem setMealExpItem);
    /**
     * 根据SetMeal查询SetMeal
     * author:liqian
     * date:2018-11-08 13:59
     */
    SetMeal selectBySetMeal(SetMeal setMeal);
    /**
     * 根据套餐id查询套餐信息
     * author:liqian
     * date:2018-11-08 15:11
     */
    SetMeal selectById(Integer setMealId);
    /**
     * 查询某个社区的所有套餐信息
     * author:liqian
     * date:2018-11-08 15:32
     */
    List<SetMeal> showAll(Map<String,Object> queryMap);
    /**
     * 根据项目id查询套餐-项目中的套餐集合
     * author:liqian
     * date:2018-11-08 17:22
     */
    List<Map<String,Object>> selectByItemId(Integer itemId);
    /**
     * 根据套餐id集合批量查询套餐信息
     * author:liqian
     * date:2018-11-08 17:31
     */
    List<SetMeal> selectByList(List<Integer> integerList);
    /**
     * 批量修改套餐-项目表中的数据
     * author:liqian
     * date:2018-11-08 17:53
     */
    int updateBatch(List<Map<String,Object>> mapList);
    /**
     * 批量修改套餐
     * author:liqian
     * date:2018-11-08 18:19
     */
    int updateSMBatch(List<SetMeal> setMealList);

    List<SetMeal> getMealsByExpensectrType(Map<String,Object> query);


    /**
     * @description: TODO 判断当前套餐是否被已入院，待评估，待缴费状态的老人使用
     * @param: setMealId 套餐Id groupId 机构ID
     * @return: 老人ID 老人入院状态 套餐ID
     * @throws
     * @author huangxm
     * @date 2019/3/11 13:03
     */
    List<Map<String,Object>> isMealBeUsed(Integer setMealId,Integer groupId);

    /**
     * 根据套餐id获取服务项目
     * @param setMealId
     * @return
     */
    List<SetMealExpItem> findBySetMealId(Integer setMealId);
}
